@import "../yaml-var-typography",
		"../mixins/yaml-mixins-core";

@media all {

	/*!
	* @section global typography settings
	*
	* vertical rhythm settings (based on em-unit)
	* -------------------------------------------
	* basefont-size:  #{$ym-base-font-size}px (#{$ym-base-font-size/$ym-default-font-size*100}%)
	* line-height  :  #{$ym-base-line-height}px (factor: #{$ym-base-line-height / $ym-base-font-size}) */

	/* (en) reset font size for all elements to standard (16 Pixel) */
	/* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */

	html * { font-size: 100%; }

	/**
	* (en) reset monospaced elements to font size 16px in all browsers
	* (de) Schriftgröße von monospaced Elemente in allen Browsern auf 16 Pixel setzen
	*
	* @see: http://webkit.org/blog/67/strange-medium/
	*/

	textarea,
	pre,
	code,
	kbd,
	samp,
	var,
	tt {
		font-family: $ym-font-monospace;
	}

	/*! font-size: #{$ym-base-font-size}px; */
	body {
		font-family: $ym-font-serif;
		font-size: $ym-base-font-size / $ym-default-font-size * 100%;
		color: $ym-text-color;
	}

	/*--- Headings | Überschriften ------------------------------------------------------------------------*/

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-family: $ym-font-sans;
		font-weight: 400;
		color: $ym-headings-color;
		margin: 0;
	}

	h1 {
		/*! font-size: #{$ym-base-font-size * $ym-h1-font-scale}px; */
		font-size: $ym-h1-font-scale * 100%;
		line-height: 2 * $line-height / $ym-h1-font-scale;
		margin: 0 0 $line-height / $ym-h1-font-scale*1em 0;
	}

	h2 {
		/*! font-size: #{$ym-base-font-size * $ym-h2-font-scale}px; */
		font-size: $ym-h2-font-scale * 100%;
		line-height: 2 * $line-height / $ym-h2-font-scale;
		margin: 0 0 $line-height / $ym-h2-font-scale*1em 0;
	}

	h3 {
		/*! font-size: #{$ym-base-font-size * $ym-h3-font-scale}px; */
		font-size: $ym-h3-font-scale * 100%;
		line-height: 1 * $line-height / $ym-h3-font-scale;
		margin: 0 0 $line-height / $ym-h3-font-scale*1em 0;
	}

	h4 {
		/*! font-size: #{$ym-base-font-size * $ym-h4-font-scale}px; */
		font-size: $ym-h4-font-scale * 100%;
		line-height: 1 * $line-height / $ym-h4-font-scale;
		margin: 0 0 $line-height / $ym-h4-font-scale*1em 0;
	}

	h5 {
		/*! font-size: #{$ym-base-font-size * $ym-h5-font-scale}px; */
		font-size: $ym-h5-font-scale * 100%;
		line-height: 1 * $line-height / $ym-h5-font-scale;
		margin: 0 0 $line-height / $ym-h5-font-scale*1em 0;
	}

	h6 {
		/*! font-size: #{$ym-base-font-size * $ym-h6-font-scale}px; */
		font-size: $ym-h6-font-scale * 100%;
		font-weight: bold;
		line-height: 1 * $line-height / $ym-h6-font-scale;
		margin: 0 0 $line-height / $ym-h6-font-scale*1em 0;
	}

	/* --- Lists | Listen  -------------------------------------------------------------------------------- */

	ul,
	ol,
	dl {
		font-size: $ym-text-font-scale * 100%;
		line-height: 1 * $line-height / $ym-text-font-scale;
		margin: 0 0 $line-height / $ym-text-font-scale*1em 0;
	}

	ul {
		list-style-type: disc;
	}

	ol {
		list-style-type: decimal;
	}

	ul ul {
		list-style-type: circle;
		margin-top: 0;
	}

	ol ol {
		list-style-type: lower-latin;
		margin-top: 0;
	}

	ol ul {
		list-style-type: circle;
		margin-top: 0;
	}

	li {
		font-size: $ym-text-font-scale * 100%;
		line-height: 1 * $line-height / $ym-text-font-scale;
		margin-left: 1.2em;
	}

	dt {
		font-weight: bold;
	}

	dd {
		margin: 0 0 $line-height*1em 0.8em;
	}

	/* --- general text formatting | Allgemeine Textauszeichnung ------------------------------------------ */

	p {
		font-size: $ym-text-font-scale * 100%;
		line-height: 1 * $line-height / $ym-text-font-scale;
		margin: 0 0 $line-height / $ym-text-font-scale*1em 0;
	}

	blockquote,
	cite,
	q {
		font-family: $ym-font-serif;
		font-style: italic;
	}

	blockquote {
		background: $ym-blockquote-bg-color;
		color: $ym-blockquote-text-color;
		margin: $line-height * 1em 0 0 1.5em;
	}

	strong,
	b {
		font-weight: bold;
	}

	em,
	i {
		font-style: italic;
	}

	big {
		/*! font-size: #{$ym-base-font-size * $ym-text-big-font-scale}px; */
		font-size: $ym-text-big-font-scale * 100%;
		line-height: 1 * $line-height / $ym-text-big-font-scale;
	}

	small {
		/*! font-size: #{$ym-base-font-size * $ym-text-small-font-scale}px; */
		font-size: $ym-text-small-font-scale * 100%;
		line-height: 1 * $line-height / $ym-text-small-font-scale;
	}

	pre,
	code,
	kbd,
	tt,
	samp,
	var {
		font-size: $ym-text-font-scale * 100%;
	}

	pre {
		font-size: $ym-text-font-scale * 100%;
		line-height: 1 * $line-height / $ym-text-font-scale;
		margin: 0 0 $line-height / $ym-text-font-scale*1em 0;
		white-space: pre;
		white-space: pre-wrap;
		word-wrap: break-word;
	}
	pre,
	code {
		color: $ym-pre-text-color;
	}

	kbd,
	samp,
	var,
	tt {
		color: $ym-kbd-text-color;
		font-weight: bold;
	}

	var,
	dfn {
		font-style: italic;
	}

	acronym,
	abbr {
		border-bottom: 1px #aaa dotted;
		font-variant: small-caps;
		letter-spacing: .07em;
		cursor: help;
	}

	sub,
	sup {
		font-size: 75%;
		line-height: 0;
		position: relative;
		vertical-align: baseline;
	}

	sup { top: -0.5em; }
	sub { bottom: -0.25em; }

	mark {
		background: $ym-mark-bg-color;
		color: $ym-mark-text-color;
	}

	hr {
		color: #fff;
		background: transparent;
		margin: 0 0 $line-height / 2 * 1em 0;
		padding: 0 0 (($ym-base-line-height / 2 - 1 ) / ($ym-base-line-height / 2 )) / 2 * $line-height * 1em 0;
		border: 0;
		border-bottom: 1px $ym-hr-color solid;
	}

	/*--- Links ----------------------------------------------------------------------------------------- */

	a {
		color: $ym-link-text-color;
		background: $ym-link-bg-color;
		text-decoration: none;
	}

	a:active { outline: none; }

	/* (en) maximum constrast for tab focus - change with great care */
	/* (en) Maximaler Kontrast für Tab Focus - Ändern Sie diese Regel mit Bedacht */
	a:hover,
	a:focus {
		background-color: $ym-link-focus-bg-color;
		color: $ym-link-focus-text-color;
		text-decoration: none;
	}

	/* --- images ------------------ */

	img,
	figure {
		margin: 0;
	}

	.flexible {
		margin-bottom: $line-height*1em;
		max-width: 100%;
		height: auto;
	}

	/* IE6 workaround - 2% space for possible borders */
	* html .flexible {
		width: 98%;
	}

	.bordered {
		margin-bottom: $line-height*1em;
		border: 2px #eee solid;
		border: 2px rgba(255,255,255,1) solid;
		@include ym-box-shadow(0,0,3px,rgba(0,0,0,.25));
	}

	/**
	* ----------------------------------------------------------------------- #
	*
	* Generic Content Classes
	*
	* (en) standard classes for positioning and highlighting
	* (de) Standardklassen zur Positionierung und Hervorhebung
	*
	* @section content-generic-classes
	*/
	.highlight {
		color: $ym-highlight-text-color;
	}

	.dimmed {
		color: $ym-dimmed-text-color;
	}

	.box {
		border-radius: 0.3em;
		border-width: 1px;
		border-style: solid;
		border-color: #888;
		border-color: rgba(0,0,0,.3);
		@include ym-box-shadow(1px,1px,3px,rgba(0,0,0,.2),inset);
		color: #444;
		color: rgba(0,0,0,.8);
		padding: ($ym-base-line-height - 1) / $ym-base-line-height * $line-height * 1em;
		margin: 0 0 $line-height*1em 0;

		& > *:last-child {
			margin-bottom: 0;
		}
	}

	.label {
		font-family: Verdana, Geneva, sans-serif;
		padding: 1px 6px 2px;
		display: inline-block;
		vertical-align: middle;
		letter-spacing: normal;
		white-space: nowrap;
		border-radius: 3px;
		background: #06C;
		color: #fff;
		font-size: 10px;
		line-height: 12px;
	}

	.info {
		background: $ym-highlight-info-color;
	}

	.success {
		background: $ym-highlight-success-color;
	}

	.warning {
		background: $ym-highlight-warning-color;
	}

	.error {
		background: $ym-highlight-error-color;
	}

	.float-left {
		float: left;
		display: inline;
		margin: 0 1em $line-height*1em 0;
	}

	.float-right {
		float: right;
		display: inline;
		margin: 0 0 $line-height*1em 1em;
	}

	.center {
		display: block;
		text-align: center;
		margin: 0 auto $line-height*1em auto;
	}

	/**
	* ------------------------------------------------------------------------------------------------- #
	*
	* Tables | Tabellen
	*
	* (en) Generic classes for table-width and design definition
	* (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen
	*
	* @section content-tables
	*/

	table {
		width: 100%;
		border-collapse: collapse;
		color: $ym-text-color;
		border-top: 1px #ccc solid;
		border-bottom: 1px #ccc solid;
		margin: 0 0 ($ym-base-line-height - 2 ) / $ym-base-line-height * $line-height * 1em 0;

		&.narrow {
			margin: 0 0 ($ym-base-line-height - 1 ) / $ym-base-line-height * $line-height * 1em 0;

			th,
			td {
				padding: 0 0.5em;
				line-height: ($ym-base-line-height - 1 ) / $ym-base-line-height * $line-height;
			}
		}

		&.fixed {
			table-layout: fixed;
		}

		&.bordertable {
			border: 1px #ccc solid;

			thead th {
				background: #e0e0e0;
				border-right: 1px #ccc solid;
				border-bottom: 1px #ccc solid;
			}

			tbody {
				th[scope="row"] {
					background: #f0f0f0;
				}
				th {
					border-right: 1px solid #ccc;
				}
				td {
					border-right: 1px solid #ccc;
				}
			}
		}
	}

	caption {
		font-variant: small-caps;
	}

	th,
	td {
		line-height: $line-height * 1em;
		vertical-align: top;
		padding: ($ym-base-line-height - 1 ) / $ym-base-line-height * $line-height / 2 * 1em 0.5em;
	}

	th *:first-child,
	td *:first-child {
		margin-top: 0;
	}

	th.nowrap,
	td.nowrap {
		white-space: nowrap;
	}

	thead th {
		text-align: left;
		color: #000;
		border-bottom: 2px #000 solid;
	}

	tbody {
		th {
			text-align: left;
			border-top: 1px solid #ccc;
		}

		td {
			text-align: left;
			border-top: 1px solid #ccc;
		}

		/* highlight row on mouse over */
		tr:hover th,
		tr:hover td {
			background: #f8f8f8;
		}
	}
}